op {
  graph_op_name: "SnapshotDatasetV2"
  visibility: HIDDEN
  in_arg {
    name: "input_dataset"
    description: <<END
A variant tensor representing the input dataset.
END
  }
  in_arg {
  name: "path"
  description: <<END
The path we should write snapshots to / read snapshots from.
END
  }
  attr {
    name: "compression"
    description: <<END
The type of compression to be applied to the saved snapshot files.
END
  }
  attr {
    name: "reader_func"
    description: <<END
Optional. A function to control how to read data from snapshot shards.
END
  }
  attr {
    name: "shard_func"
    description: <<END
Optional. A function to control how to shard data when writing a snapshot.
END
  }
  summary: "Creates a dataset that will write to / read from a snapshot."
  description: <<END
This dataset attempts to determine whether a valid snapshot exists at the
`snapshot_path`, and reads from the snapshot in lieu of using `input_dataset`.
If not, it will run the preprocessing pipeline as usual, and write out a
snapshot of the data processed for future use.
END
}
